package com.lbt.framework.general;


/**
 * 分页请求对象
 *
 * @author mo_yq5
 * @since 2016年4月9日
 */
public interface Paging {

	/**
	 * 获取分页大小
	 * @return
	 */
	public int getPageSize();

	/**
	 * 指定分页大小
	 * @param pageSize
	 */
	public void setPageSize(int pageSize);
	
	/**
	 * 指定分页大小,setPageSize的别名.
	 * @param ps
	 */
	public void setPs(int ps);
	
	/**
	 * 获取当前页码,从1开始,不会大于总页数(totalPage).
	 * @return
	 */
	public int getNowPage();
	
	/**
	 * 指定查询页码
	 * @param nowPage
	 */
	public void setNowPage(int nowPage);
	
	/**
	 * 指定查询页码,同setNowPage().
	 * @param np
	 */
	public void setNp(int np);

	/**
	 * 获取分页链接数,用于页面分页链接展示
	 * @return
	 */
	public int getLinkCount();
	
	/**
	 * 指定分页链接数,用于页面分页链接展示
	 * @param linkCount
	 */
	public void setLinkCount(int linkCount);
	
	/**
	 * 指定分页链接数,用于页面分页链接展示,同setLinkCount().
	 * @param lc
	 */
	public void setLc(int lc);

	/**
	 * 查询时是否查询记录总数.
	 * @return
	 */
	public boolean getIsCount();

	/**
	 * 指定查询时是否查询记录总数.
	 * @param isCount
	 */
	public void setIsCount(boolean isCount);
	
	/**
	 * 指定查询页码,同setIsCount().
	 * @param ic
	 */
	public void setIc(boolean ic);
	
	/**
	 * 获取查询位置索引,由查询页码(nowPage)和分页大小(pageSize)计算而得.
	 * @return
	 */
	public int getFirstResult();
	
	/**
	 * 获取总记录数,大于等于0.
	 * @return
	 */
	public int getTotalResult();
	
	/**
	 * 记录总记录数
	 * @param totalResult
	 */
	public void setTotalResult(int totalResult);
	
	/**
	 * 获取总页数
	 * @since 2016年4月10日
	 */
	public int getTotalPage();
	
}
